home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk69 / cclat / src / cc.doc < prev    next >
Text File  |  1995-03-19  |  5KB  |  122 lines

  1.        CC: a unix-like compiler driver for amiga lattice-c (that also
  2.            filters out stupid messages!)
  3.  
  4.     USAGE:
  5.        cc [args] file...
  6.  
  7.       Arguments are ([x] means x is optional):
  8.  
  9.        file            A file to compile or link.  Currently, only .c and .o
  10.                        are understood, although supporting .s files would
  11.                        probably be pretty simple.
  12.  
  13.        -o execfile     Write the resulting executable to EXECFILE (only
  14.                        meaningful when linking).
  15.  
  16.        -c              Don't link the object file, just leave it there.
  17.  
  18.        -g[num]         Compile in debugging info, using debug-level NUM.
  19.        -O              Use the global optimizer (incompatible with -g).
  20.        -P              Just pre-process the file, creating a .pp file.
  21.  
  22.        -l libname      Add LIBNAME.lib to the list of libraries.
  23.  
  24.        -I dir          Add the directory DIR to the path searched for include
  25.                        files.
  26.        -D define       Add DEFINE a pre-processor define; it can be just a name
  27.                        or name=value.
  28.        -U undefin      Undefine the symbol UNDEFINE (this really doesn't work).
  29.        -L libdir       Add the directory LIBDIR to the path searched for
  30.                        libraries.
  31.        -B bindir       Add the directory BINDIR to the path searched for
  32.                        binaries.
  33.  
  34.        -px string      Put STRING on the command line of compiler pass X, where
  35.                        X is one of: 1-- pass1; 2-- pass2; o-- optimizer;
  36.                        and l-- linker.  This switch can be used to get at
  37.                        compiler features that cc doesn't directly support,
  38.                        although it'd be better to just add the feature to cc
  39.                        (it shouldn't be too hard)-- and send the change
  40.                        back to me (bader+@andrew.cmu.edu)!
  41.  
  42.        -t tempdir      Use TEMPDIR as the place to put temporary files.
  43.  
  44.        +ansi                   Enforce ansi fascism.
  45.        +cpp                    Compat with c++.
  46.        +trad                   Use traditional style cpp.
  47.  
  48.        +[no-]abs-code          Use long (absolute) addressing for function
  49.                                calls.
  50.        +[no-]abs-data          Use long (absolute) addressing for data.
  51.  
  52.        +[no-]reload-a4         Reload reg a4 in each function.
  53.        +[no-]short-ints        Use short integers.
  54.        +[no-]reg-args          Use register argument passing.
  55.        +[no-]long-align        Align everything to long boundaries.
  56.        +[no-]stack-check       Put stack-checking into the func prolog.
  57.        +[no-]pure-strings      Put strings in the text segment.
  58.  
  59.        +ffp                    Use motorola fast floating point.
  60.        +881                    Compile for a 68881.
  61.        +ieee                   Ieee floating point.
  62.  
  63.        +68k                    Compile for a 68000 and up.
  64.        +020                    Compile for a 68020 and up.
  65.        +030                    Compile for a 68030.
  66.  
  67.        +[no-]detach            Make a program that runs in the background.
  68.        +[no-]tiny-main         Use tinymain (this doesn't work).
  69.        +[no-]resident          Try and make resident-able.
  70.        +[no-]catch             Compile in code to try and catch exceptions.
  71.  
  72.        +[no-]optimize          Optimize the obj module.
  73.        +[no-]link              Link the object modules.
  74.        +[no-]compile           (Otherwise, just pre-process).
  75.        +[no-]assemble          Emit object-modules (else assembly).
  76.        +[no-]debug             Produce debugging info.
  77.  
  78.        +[no-]echo              Echo what we execute.
  79.        +[no-]filter            Filter out yucky message from passes.
  80.        +[no-]exec              Actually run each pass.
  81.  
  82.        +[no-]big-lc1           Run lc1b instead of lc1.
  83.  
  84.     DEFAULTS:
  85.         The default options are: +compile +link +stack-check +exec +filter
  86.  
  87.        The default output file is "a.out".
  88.  
  89.        The default temp directory is "t:".
  90.  
  91.        The default debug level when just -g (or +debug) is specified is 3.
  92.  
  93.        The default libraries are: "-lc", "-lamiga".
  94.  
  95.     NOTES:
  96.        The library -lm is replaced by whichever math library is appropiate
  97.        given other switches (like +ieee or +ffp), and -lc is replaced by
  98.        the appropiate c library-- so be and sure to pass the same set of
  99.        switches to cc when linking as you do when compiling (with -c) the
  100.        object files!
  101.  
  102.        This version of cc is intended for use with lattice c version 5.
  103.  
  104.     BUGS:
  105.        I haven't nearly tested all the possible combinations of options.
  106.  
  107.        The libraries supplied by lattice aren't complete, so some combos
  108.        of switches may not be possible (e.g., +reg-args and +ieee-- lattice
  109.        doesn't supply a libieeer.lib, and so linking fails in this case).
  110.  
  111.        -U doesn't work.
  112.  
  113.        -S doesn't work (and isn't ever likely too unless lattice makes
  114.        omd a much better program).
  115.  
  116.        Compiling .s (assembly) files isn't implemented, even though it's
  117.        probably pretty simple, using asm.  I just never needed it...
  118.  
  119.     AUTHOR:
  120.        Miles Bader (bader+@andrew.cmu.edu)
  121.           from an earlier program by Fred Fish.
  122.